/*
 *  IWilNoteData.h
 *  Wilson
 *
 *  Created by Sebastian Orfino on 8/19/11.
 *  Copyright 2011 __MyCompanyName__. All rights reserved.
 *
 */

#ifndef __IWILNOTEDATA__
#define __IWILNOTEDATA__

#include "WilID.h"

#include <string>
#include "boost/date_time/posix_time/posix_time_types.hpp" //no i/o just types
#include "adobe/zuid.hpp"

class IPMUnknown;

//todo: puede ser que esta clase en realidad no la precise. Porque puedo para identificar la caja de la nota pasar el UID al XMP.
class IWilNoteData : public IPMUnknown {

public:
	enum  { kDefaultIID = IID_IWILNOTEDATA };
	
	/** genera una previa en PNG del sector de la anotacion. Esta codificada en base64 
	virtual std::string MiniImagenBase64() const = 0;*/
	
	
	/** El id unico de la anotacion */
	virtual adobe::zuid_t uid() const = 0;
	
	/** Significa que el objeto cambio y debe persistirse. Es un workaround que hago por el momento para indicarle
	 a ID que persista el objeto en la DB porque por ahora no tengo forma de diferenciar desde esta instancia cuando
	 me crearon o cuando me leyeron y entonces cuando debo llamar o no a PreDirty(). Es un todo.*/
	virtual void touch() = 0;
	
};


#endif